#afdf3b989339de478e85b614d274d1ef
from core.basic.skill import PassiveSkill, ActiveSkill
from core.basic.character import Character

class ActiveSkill(ActiveSkill):
    def getWeaponCDRatio(self):
        return 1.0

# 特性弹 특성탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/9dda3f4a849dba1a288dd65e116860f2?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill1(ActiveSkill):
    name = "特性弹"
    learnLv = 15
    masterLv = 10
    maxLv = 20
    position = 4 #TODO
    rangeLv = 3
    cd = 5
    mp = [126, 975]
    uuid = "9dda3f4a849dba1a288dd65e116860f2"
    hasUP = False
    # custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501

    damage = False

    data0 = [0, 381, 442, 505, 565, 626, 687, 748, 809, 870, 931, 992, 1053, 1114, 1174, 1235, 1296, 1357, 1418, 1479, 1541]# noqa: E501

# 空中射击 공중사격
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/bb34e8854a93fd250347a1c64119f7ab?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill2(ActiveSkill):
    name = "空中射击"
    learnLv = 15
    masterLv = 10
    maxLv = 20
    position = 8 #TODO
    rangeLv = 3
    cd = 40
    mp = [22, 119]
    uuid = "bb34e8854a93fd250347a1c64119f7ab"
    hasUP = False
    # custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501

    damage = False


# G-14手雷 G-14 파열류탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/de3fea2d65c597f4d55c70a02b97fc79?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill3(ActiveSkill):
    name = "G-14手雷"
    learnLv = 15
    masterLv = 60
    maxLv = 70
    position = 5 #TODO
    rangeLv = 2
    cd = 4
    mp = [20, 160]
    uuid = "de3fea2d65c597f4d55c70a02b97fc79"

    data1 = [0, 1936, 2134, 2329, 2526, 2723, 2921, 3116, 3313, 3511, 3706, 3903, 4099, 4296, 4491, 4689, 4884, 5083, 5280, 5476, 5673, 5868, 6066, 6261, 6458, 6654, 6851, 7047, 7244, 7443, 7638, 7835, 8031, 8228, 8424, 8621, 8816, 9013, 9211, 9406, 9603, 9801, 9998, 10193, 10390, 10588, 10783, 10980, 11176, 11373, 11569, 11766, 11965, 12160, 12357, 12553, 12750, 12946, 13143, 13338, 13535, 13731, 13928, 14124, 14323, 14520, 14715, 14912, 15108, 15305, 15501]# noqa: E501
    hit1 = 1 #TODO


# 弹夹改装 매거진 드럼
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/dacd5c2848a1eb33489e5471f1a73759?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill4(PassiveSkill):
    name = "弹夹改装"
    learnLv = 15
    masterLv = 10
    maxLv = 20
    position = 7 #TODO
    rangeLv = 3
    uuid = "dacd5c2848a1eb33489e5471f1a73759"

    data0 = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40]# noqa: E501

    data1 = [0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]# noqa: E501

    associate = [
        {'data': data0, 'skills': ['交叉射击', '聚合弹', '凝固汽油弹', '电磁弹：麦克斯韦']},
        {'data': data1, 'skills': ['爆裂弹', '贯穿弹', '狙击手增援']}
    ]

# 超负荷装填 오버 차지
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/c47b66efd27845ef14954928ea2f95c8?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill5(ActiveSkill):
    name = "超负荷装填"
    learnLv = 15
    masterLv = 10
    maxLv = 20
    position = 3 #TODO
    rangeLv = 3
    cd = 5
    mp = [126, 975]
    uuid = "c47b66efd27845ef14954928ea2f95c8"

    damage = False


# 弹药改良 강화탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/7ec521d063d2190e1fcc5bd229af9bcf?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill6(PassiveSkill):
    name = "弹药改良"
    learnLv = 20
    masterLv = 10
    maxLv = 20
    position = 1 #TODO
    rangeLv = 3
    uuid = "7ec521d063d2190e1fcc5bd229af9bcf"

    data3 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10]# noqa: E501

    data4 = [0, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33]# noqa: E501

    associate = [{'data': data3},{'data': data4}]


# 手雷精通 유탄 마스터리
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/0113c8b1306ca76d208f83f2d093dd62?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill7(PassiveSkill):
    name = "手雷精通"
    learnLv = 20
    masterLv = 10
    maxLv = 20
    position = 6 #TODO
    rangeLv = 3
    uuid = "0113c8b1306ca76d208f83f2d093dd62"

    data0 = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200]# noqa: E501
    associate = [
        {'type': '*skillRation', 'data': data0, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']},
    ]

# 兵器研究 병기 숙련
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/bae12a6dc7d22a5cf149673e88ddda28?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill8(PassiveSkill):
    name = "兵器研究"
    learnLv = 20
    masterLv = 10
    maxLv = 20
    position = 0 #TODO
    rangeLv = 3
    uuid = "bae12a6dc7d22a5cf149673e88ddda28"

    data0 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]  # noqa: E501

    data1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

    associate = [
        {'data': data0, 'type': '$*PAtkP'},
        {'data': data0, 'type': '$*PAtkM'},
        {'data': data1, 'type': '*cdReduce', 'exceptSkills': ['EMP磁暴','决战之日','终解·制空霸权']}
    ]


# M18阔剑地雷 M18 클레이모어
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/2ff50c35efcf0f287c4c418c8454da48?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill9(ActiveSkill):
    name = "M18阔剑地雷"
    learnLv = 20
    masterLv = 60
    maxLv = 70
    position = 8 #TODO
    rangeLv = 2
    cd = 6
    mp = [70, 588]
    uuid = "2ff50c35efcf0f287c4c418c8454da48"

    data1 = [0, 1807, 1989, 2174, 2356, 2538, 2723, 2905, 3091, 3273, 3454, 3640, 3822, 4007, 4189, 4372, 4556, 4738, 4922, 5105, 5289, 5472, 5656, 5838, 6021, 6205, 6387, 6572, 6754, 6939, 7121, 7303, 7489, 7670, 7856, 8038, 8220, 8405, 8587, 8772, 8954, 9139, 9321, 9503, 9688, 9870, 10054, 10237, 10421, 10605, 10787, 10970, 11154, 11337, 11519, 11703, 11886, 12068, 12254, 12436, 12621, 12803, 12985, 13170, 13352, 13537, 13719, 13904, 14086, 14268, 14453]# noqa: E501
    hit1 = 3

# 快速拔枪 패스티스트 건
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/45442bbbe33540b4deeec29437dae70c?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill10(PassiveSkill):
    name = "快速拔枪"
    learnLv = 25
    masterLv = 10
    maxLv = 20
    position = 9 #TODO
    rangeLv = 3
    uuid = "45442bbbe33540b4deeec29437dae70c"


# 交叉射击 교차 사격
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/78be08a3f8c834d3b06fa20c6a08c5a5?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill11(ActiveSkill):
    name = "交叉射击"
    learnLv = 25
    masterLv = 60
    maxLv = 70
    position = 3 #TODO
    rangeLv = 2
    cd = 8
    mp = [70, 588]
    uuid = "78be08a3f8c834d3b06fa20c6a08c5a5"

    data1 = [0, 3752, 4133, 4512, 4893, 5275, 5656, 6035, 6416, 6797, 7177, 7557, 7937, 8320, 8701, 9080, 9461, 9841, 10222, 10601, 10982, 11365, 11745, 12124, 12505, 12886, 13269, 13646, 14028, 14409, 14790, 15169, 15550, 15931, 16313, 16691, 17073, 17454, 17835, 18214, 18595, 18977, 19358, 19737, 20118, 20499, 20879, 21259, 21639, 22022, 22403, 22782, 23163, 23543, 23924, 24303, 24684, 25067, 25447, 25826, 26207, 26588, 26971, 27348, 27730, 28111, 28492, 28871, 29252, 29633, 30015]# noqa: E501
    hit1 = 3


# G-35L感电手雷 G-35L 섬광류탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/c61f5a010370101402b05b21916c2071?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill12(ActiveSkill):
    name = "G-35L感电手雷"
    learnLv = 25
    masterLv = 60
    maxLv = 70
    position = 5 #TODO
    rangeLv = 2
    cd = 8
    mp = [40, 350]
    uuid = "c61f5a010370101402b05b21916c2071"

    data1 = [0, 4104, 4522, 4937, 5353, 5772, 6188, 6603, 7019, 7438, 7854, 8269, 8687, 9104, 9518, 9935, 10353, 10770, 11184, 11603, 12019, 12434, 12850, 13269, 13685, 14100, 14516, 14935, 15349, 15766, 16184, 16601, 17015, 17432, 17850, 18267, 18681, 19100, 19516, 19931, 20347, 20766, 21182, 21597, 22015, 22432, 22846, 23263, 23681, 24098, 24512, 24931, 25347, 25764, 26178, 26597, 27013, 27428, 27846, 28263, 28679, 29094, 29512, 29929, 30343, 30762, 31178, 31595, 32009, 32428, 32844]# noqa: E501
    hit1 = 1 #TODO

    data2 = [0, 454, 502, 547, 593, 639, 687, 734, 779, 826, 872, 916, 964, 1012, 1056, 1103, 1149, 1197, 1241, 1289, 1335, 1380, 1426, 1474, 1518, 1566, 1612, 1659, 1703, 1751, 1799, 1843, 1890, 1936, 1982, 2028, 2076, 2122, 2168, 2213, 2261, 2305, 2353, 2399, 2445, 2491, 2538, 2582, 2630, 2678, 2723, 2768, 2815, 2863, 2907, 2955, 3001, 3046, 3092, 3140, 3186, 3232, 3278, 3325, 3369, 3417, 3463, 3509, 3555, 3602, 3650]# noqa: E501
    hit2 = 1 #TODO



# 爆裂弹 폭발탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/3c5604bdbb0240b8f130f59ab40509c3?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill13(ActiveSkill):
    name = "爆裂弹"
    learnLv = 30
    masterLv = 10
    maxLv = 20
    position = 4 #TODO
    rangeLv = 3
    cd = 5
    mp = [357, 2765]
    uuid = "3c5604bdbb0240b8f130f59ab40509c3"
    hasUP = False
    # custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501

    data0 = [0, 960, 1114, 1266, 1418, 1572, 1724, 1876, 2030, 2184, 2336, 2490, 2642, 2794, 2948, 3100, 3254, 3407, 3560, 3713, 3866]# noqa: E501
    hit0 = 1 #TODO
    skillRation = 1 + 0.3 + 0.07 * 0.5


# 贯穿弹 관통탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/d0cdaca82892e54097f22a1f60817048?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill14(ActiveSkill):
    name = "贯穿弹"
    learnLv = 30
    masterLv = 10
    maxLv = 20
    position = 2 #TODO
    rangeLv = 3
    cd = 5
    mp = [357, 2765]
    uuid = "d0cdaca82892e54097f22a1f60817048"
    hasUP = False
    # custom = get_data(f'{prefix}/{uuid}', "custom") # noqa: E501

    data0 = [0, 960, 1114, 1266, 1418, 1572, 1724, 1876, 2030, 2184, 2336, 2490, 2642, 2794, 2948, 3100, 3254, 3407, 3560, 3713, 3866]# noqa: E501
    hit0 = 1 #TODO
    skillRation = 1 + 0.34 * 0.9


# G-18C冰冻手雷 G-18C 빙결류탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/202edb928046f4fa6dedf6337377efd5?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill15(ActiveSkill):
    name = "G-18C冰冻手雷"
    learnLv = 30
    masterLv = 60
    maxLv = 70
    position = 6 #TODO
    rangeLv = 2
    cd = 10
    mp = [70, 560]
    uuid = "202edb928046f4fa6dedf6337377efd5"

    data1 = [0, 5282, 5819, 6355, 6892, 7426, 7963, 8500, 9036, 9573, 10107, 10644, 11179, 11716, 12250, 12787, 13325, 13860, 14397, 14931, 15468, 16004, 16541, 17077, 17612, 18149, 18685, 19220, 19756, 20293, 20828, 21366, 21901, 22437, 22974, 23509, 24045, 24580, 25118, 25653, 26189, 26726, 27261, 27798, 28332, 28869, 29405, 29942, 30479, 31013, 31550, 32086, 32623, 33157, 33694, 34230, 34767, 35304, 35838, 36375, 36910, 37448, 37981, 38519, 39056, 39591, 40129, 40662, 41200, 41735, 42272]# noqa: E501
    hit1 = 1 #TODO



# C4飞弹 C4
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/a2d943797daca862a6f321aca6ac9bfa?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill16(ActiveSkill):
    name = "C4飞弹"
    learnLv = 35
    masterLv = 60
    maxLv = 70
    position = 8 #TODO
    rangeLv = 2
    cd = 20
    mp = [150, 1232]
    uuid = "a2d943797daca862a6f321aca6ac9bfa"
    vps = [
          {
            "name": "快速泯灭",
            "desc": "追踪<br/>施放时间减少",
            "explain": "[C4原始型压缩炮]<br/>C4安装后立即爆炸<br/><br/>投掷时， 飞弹自动追踪第一个目标<br/>- Y轴追踪范围 : 200px"
          },
          {
            "name": "战术号角",
            "desc": "取消僵直<br/>可多次发动",
            "explain": "[C4原始型压缩炮]<br/>可以强制中断射击技能施放后僵直并施放该技能。<br/><br/>变更为可填充2次的技能<br/>- 每次填充冷却时间 : 10秒<br/>- 单次攻击力 -50%"
          }
        ]

    data2 = [0, 18441, 20313, 22184, 24054, 25925, 27797, 29667, 31538, 33408, 35280, 37151, 39021, 40895, 42765, 44634, 46505, 48378, 50249, 52119, 53988, 55862, 57732, 59603, 61475, 63345, 65216, 67086, 68958, 70829, 72699, 74570, 76442, 78312, 80183, 82053, 83927, 85796, 87666, 89540, 91410, 93281, 95150, 97023, 98894, 100764, 102635, 104507, 106377, 108248, 110120, 111990, 113861, 115731, 117603, 119474, 121344, 123215, 125088, 126957, 128828, 130698, 132572, 134442, 136311, 138185, 140055, 141926, 143796, 145668, 147539]# noqa: E501
    hit2 = 1

    def vp_2(self):
        self.cd = 10
        self.skillRation *= 1 - 0.5


# 聚合弹 버스터 샷
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/3fb8395ae3b81bd608e0c4223a8eb534?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill17(ActiveSkill):
    name = "聚合弹"
    learnLv = 35
    masterLv = 60
    maxLv = 70
    position = 3 #TODO
    rangeLv = 2
    cd = 18
    mp = [150, 1232]
    uuid = "3fb8395ae3b81bd608e0c4223a8eb534"
    vps = [
          {
            "name": "断箭",
            "desc": "可以在其他动作中施放。<br/>追踪",
            "explain": "[聚合弹]<br/>对1000px范围内最强的敌人进行炮击<br/>- 可在其他动作过程中施放"
          },
          {
            "name": "伪装射击",
            "desc": "赋予无敌状态",
            "explain": "[聚合弹]<br/>射击前展开伪装屏障<br/>- 射击及射击后动作进入无敌状态"
          }
        ]

    data0 = [0, 21573, 23765, 25953, 28140, 30329, 32517, 34709, 36896, 39084, 41273, 43464, 45651, 47840, 50028, 52217, 54407, 56595, 58784, 60972, 63164, 65351, 67539, 69728, 71916, 74106, 76295, 78483, 80672, 82862, 85050, 87239, 89427, 91616, 93806, 95994, 98183, 100371, 102560, 104750, 106938, 109127, 111315, 113505, 115694, 117882, 120071, 122259, 124449, 126638, 128826, 131015, 133205, 135393, 137582, 139770, 141959, 144149, 146337, 148526, 150714, 152904, 155093, 157281, 159470, 161658, 163848, 166037, 168225, 170414, 172601]# noqa: E501
    hit0 = 1 #TODO

    data1 = [0, 7914, 8718, 9521, 10325, 11127, 11931, 12732, 13535, 14339, 15141, 15945, 16748, 17550, 18354, 19157, 19961, 20763, 21567, 22368, 23171, 23975, 24777, 25581, 26384, 27188, 27990, 28794, 29597, 30399, 31202, 32004, 32808, 33611, 34413, 35217, 36020, 36824, 37626, 38430, 39233, 40034, 40838, 41640, 42444, 43247, 44051, 44853, 45657, 46460, 47262, 48066, 48867, 49671, 50474, 51276, 52080, 52883, 53687, 54489, 55293, 56096, 56900, 57701, 58503, 59307, 60110, 60914, 61716, 62520, 63323]# noqa: E501
    hit1 = 0

    data2 = [0, 6155, 6780, 7406, 8030, 8654, 9279, 9903, 10527, 11151, 11777, 12402, 13025, 13650, 14276, 14898, 15524, 16149, 16775, 17397, 18023, 18648, 19271, 19896, 20522, 21144, 21770, 22395, 23019, 23643, 24269, 24893, 25517, 26142, 26766, 27392, 28016, 28640, 29265, 29888, 30513, 31139, 31761, 32387, 33012, 33638, 34260, 34886, 35511, 36134, 36759, 37385, 38009, 38633, 39258, 39882, 40506, 41132, 41756, 42381, 43005, 43629, 44255, 44879, 45503, 46128, 46751, 47376, 48002, 48627, 49250]# noqa: E501
    hit2 = 0

    def setMode(self, mode):
        if self.char.GetWeaponType()[0] == "手弩":
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 3

# 凝固汽油弹 네이팜 탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/1803b6a67047cafb9e289b4f33cc507b?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill18(ActiveSkill):
    name = "凝固汽油弹"
    learnLv = 40
    masterLv = 60
    maxLv = 70
    position = 3 #TODO
    rangeLv = 2
    cube = 1
    cd = 20
    mp = [200, 1812]
    uuid = "1803b6a67047cafb9e289b4f33cc507b"
    vps = [
          {
            "name": "超巨型爆弹",
            "desc": "攻击时间减少",
            "explain": "[凝固汽油弹]<br/>删除地面攻击<br/>地面攻击力合算至爆炸攻击力<br/><br/>攻击范围 +30%"
          },
          {
            "name": "熔岩爆弹",
            "desc": "范围增加",
            "explain": "[凝固汽油弹]<br/>发射子弹生成巨大的火属性地带<br/>- 删除爆炸攻击<br/>- 爆炸攻击力合算至地面攻击力<br/>- 地面攻击力 + 50%<br/>- 地面攻击次数 -5次<br/>- 地面攻击持续时间 -1秒<br/>- 攻击范围大幅增加"
          }
        ]

    data0 = [0, 22707, 25010, 27314, 29618, 31922, 34224, 36528, 38832, 41135, 43442, 45743, 48045, 50349, 52655, 54959, 57260, 59565, 61869, 64172, 66477, 68780, 71082, 73388, 75690, 77994, 80297, 82601, 84905, 87207, 89514, 91815, 94118, 96425, 98727, 101031, 103335, 105638, 107942, 110244, 112550, 114852, 117155, 119460, 121763, 124067, 126371, 128675, 130977, 133281, 135587, 137888, 140190, 142497, 144800, 147104, 149408, 151712, 154014, 156318, 158622, 160925, 163227, 165533, 167835, 170139, 172443, 174747, 177050, 179354, 181659]# noqa: E501
    hit0 = 1 #TODO

    data3 = [0, 123, 135, 149, 161, 171, 185, 197, 210, 222, 233, 248, 258, 273, 282, 294, 308, 320, 333, 345, 357, 371, 383, 396, 408, 419, 434, 444, 458, 470, 482, 495, 507, 521, 533, 545, 558, 569, 584, 594, 606, 620, 632, 645, 657, 669, 683, 695, 708, 720, 731, 744, 756, 770, 782, 794, 807, 819, 833, 845, 857, 870, 881, 896, 906, 918, 932, 944, 957, 969, 981]# noqa: E501
    hit3 = 15


# 狙击手增援 리턴드 스나이퍼
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/2575e479271da5c46990ab0bb88dd677?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill19(ActiveSkill):
    name = "狙击手增援"
    learnLv = 45
    masterLv = 60
    maxLv = 70
    position = 4 #TODO
    rangeLv = 2
    cube = 2
    cd = 45
    mp = [400, 3360]
    uuid = "2575e479271da5c46990ab0bb88dd677"
    vps = [
          {
            "name": "巨龙狙击枪",
            "desc": "攻击力和冷却时间增加",
            "explain": "[狙击手增援]<br/>发射巨龙狙击弹<br/>- 射击次数上限变为1次<br/>- 巨龙狙击弹攻击力相当于原有子弹8发的攻击力<br/>- 狙击增加施放前动作<br/>- 最长狙击等待时间 -17秒<br/>-攻击范围增加<br/>施放技能时进入无敌状态<br/>攻击力 50%<br/>基本冷却时间变更为67.5秒"
          },
          {
            "name": "速射狙击枪",
            "desc": "攻击力/冷却时间减少<br/>无敌强化",
            "explain": "[狙击手增援]<br/>总子弹数量减少至4发<br/>射击前僵直减少<br/>无敌时间 + 0.3秒<br/>冷却时间 -50%"
          }
        ]

    data0 = [0, 7262, 7997, 8735, 9470, 10208, 10944, 11681, 12417, 13155, 13890, 14628, 15363, 16100, 16838, 17573, 18311, 19047, 19784, 20520, 21257, 21995, 22731, 23466, 24206, 24941, 25677, 26414, 27150, 27888, 28623, 29361, 30098, 30834, 31571, 32306, 33044, 33780, 34517, 35253, 35991, 36726, 37464, 38199, 38939, 39674, 40409, 41147, 41883, 42621, 43356, 44093, 44831, 45567, 46304, 47042, 47777, 48515, 49250, 49986, 50724, 51459, 52197, 52934, 53670, 54407, 55143, 55880, 56618, 57353, 58089]# noqa: E501
    hit0 = 8

    def vp_1(self):
        self.cd = 67.5
        self.skillRation *= 1.5


# 弹药主宰 듀얼 플리커
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/f0cc2c950f3bdf4103c75fa496bcac34?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill20(PassiveSkill):
    name = "弹药主宰"
    learnLv = 48
    masterLv = 40
    maxLv = 50
    position = 4 #TODO
    rangeLv = 3
    uuid = "f0cc2c950f3bdf4103c75fa496bcac34"

    data0 = [0, 12, 13.5, 15, 16.5, 18, 19.5, 21, 22.5, 24, 25.5, 27, 28.5, 30, 31.5, 33, 34.5, 36, 37.5, 39, 40.5, 42, 43.5, 45, 46.5, 48, 49.5, 51, 52.5, 54, 55.5, 57, 58.5, 60, 61.5, 63, 64.5, 66, 67.5, 69, 70.5, 72, 73.5, 75, 76.5, 78, 79.5, 81, 82.5, 84, 85.5]# noqa: E501

    data1 = [0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]# noqa: E501

    associate = [
        {'data': data0},{'data': data1,'skills':["爆裂弹","贯穿弹"]},
    ]


# 黑玫瑰特种战队 특수기동전대 '블랙 로즈'
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/147d005ac868e0de52b1f255eea35d62?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill21(ActiveSkill):
    name = "黑玫瑰特种战队"
    learnLv = 50
    masterLv = 40
    maxLv = 50
    position = 7 #TODO
    rangeLv = 5
    cube = 5
    cd = 145
    mp = [1000, 8400]
    uuid = "147d005ac868e0de52b1f255eea35d62"

    data0 = [0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]# noqa: E501
    hit0 = 1 #TODO

    data1 = [0, 3023, 3724, 4425, 5126, 5826, 6527, 7228, 7929, 8631, 9332, 10033, 10734, 11435, 12136, 12838, 13539, 14238, 14940, 15641, 16342, 17043, 17744, 18445, 19147, 19848, 20549, 21250, 21950, 22651, 23352, 24053, 24754, 25456, 26157, 26858, 27559, 28260, 28962, 29663, 30362, 31064, 31765, 32466, 33167, 33868, 34569, 35271, 35972, 36673, 37374]# noqa: E501
    hit1 = 16
    # 上下会有一个枪兵空掉一半
    data4 = [0, 537, 661, 786, 911, 1036, 1159, 1284, 1409, 1534, 1658, 1783, 1908, 2033, 2158, 2281, 2406, 2531, 2656, 2779, 2904, 3029, 3155, 3278, 3403, 3528, 3653, 3776, 3901, 4026, 4151, 4275, 4400, 4525, 4650, 4775, 4898, 5023, 5148, 5273, 5397, 5522, 5647, 5772, 5895, 6020, 6145, 6270, 6393, 6519, 6644]# noqa: E501
    hit4 = 82


# G-61重力手雷 G-61 중력류탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/e0daa922b19cdc35de879e938361464e?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill22(ActiveSkill):
    name = "G-61重力手雷"
    learnLv = 60
    masterLv = 40
    maxLv = 50
    position = 5 #TODO
    rangeLv = 2
    cube = 2
    cd = 20
    mp = [400, 1120]
    uuid = "e0daa922b19cdc35de879e938361464e"
    vps = [
          {
            "name": "超重力挤压",
            "desc": "范围增加<br/>攻击时间减少",
            "explain": "[G-61重力手雷]<br/>重力场持续时间 -50%<br/><br/>重力场大小 +30%<br/><br/>吸附力 +150%"
          },
          {
            "name": "空间粉碎",
            "desc": "增加立即爆炸功能",
            "explain": "[G-61重力手雷]<br/>删除多段攻击力<br/>多段攻击力合算至终结攻击力<br/><br/>重力场持续时间 +100%<br/><br/>可通过额外输入立即爆炸"
          }
        ]

    data2 = [0, 473, 522, 569, 617, 665, 713, 759, 809, 857, 906, 951, 999, 1050, 1098, 1145, 1193, 1241, 1290, 1337, 1385, 1433, 1481, 1527, 1578, 1626, 1674, 1721, 1769, 1818, 1866, 1913, 1961, 2009, 2060, 2106, 2154, 2202, 2250, 2298, 2346, 2394, 2442, 2489, 2537, 2588, 2636, 2681, 2730, 2778, 2828]# noqa: E501
    hit2 = 29

    data3 = [0, 14204, 15644, 17085, 18525, 19968, 21407, 22850, 24293, 25731, 27174, 28616, 30054, 31497, 32939, 34379, 35820, 37262, 38702, 40143, 41583, 43025, 44468, 45906, 47349, 48789, 50231, 51671, 53114, 54552, 55995, 57435, 58877, 60317, 61758, 63198, 64641, 66080, 67523, 68964, 70404, 71846, 73289, 74727, 76170, 77610, 79052, 80492, 81935, 83373, 84816]# noqa: E501
    hit3 = 1 #TODO


# 电磁弹 : 麦克斯韦 고전압탄 : 맥스웰
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/a080c9958fc2e4f87d6c55a727eb62b2?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill23(ActiveSkill):
    name = "电磁弹 : 麦克斯韦"
    learnLv = 70
    masterLv = 40
    maxLv = 50
    position = 3 #TODO
    rangeLv = 2
    cube = 3
    cd = 30
    mp = [800, 1680]
    uuid = "a080c9958fc2e4f87d6c55a727eb62b2"
    vps = [
          {
            "name": "离子发生器",
            "desc": "磁场效果强化",
            "explain": "[电磁弹 : 麦克斯韦]<br/>磁场效果强化<br/>- 磁场范围 + 20%<br/>- 磁场持续时间 -2秒<br/>- 子弹增益攻击力增加效果变为50%"
          },
          {
            "name": "液态引信",
            "desc": "变更为弹药效果技能<br/>可以为队员提供弹药效果",
            "explain": "[电磁弹 : 麦克斯韦]<br/>施放技能时， 装填20发小型电磁弹<br/>攻击时， 小型电磁弹会造成伤害<br/>- 小型电磁弹的攻击力为电磁弹攻击力的5%<br/>- 队员中有神枪手时， 可以提供子弹增益支援<br/>- 对队友施放时， 电磁弹的攻击力与施放技能的弹药专家的技能攻击力相同"
          }
        ]

    data0 = [0, 48863, 53822, 58778, 63735, 68693, 73649, 78606, 83564, 88521, 93479, 98436, 103392, 108350, 113307, 118263, 123222, 128180, 133136, 138093, 143051, 148007, 152964, 157923, 162881, 167837, 172794, 177752, 182708, 187665, 192624, 197580, 202538, 207495, 212451, 217409, 222366, 227324, 232281, 237239, 242195, 247152, 252110, 257066, 262025, 266982, 271938, 276896, 281853, 286809, 291767]# noqa: E501
    hit0 = 1 #TODO


# 重火力支援 데인저 클로즈
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/ac21c02567f04a92b54dd85c091d1e5a?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill24(ActiveSkill):
    name = "重火力支援"
    learnLv = 75
    masterLv = 40
    maxLv = 50
    position = 1 #TODO
    rangeLv = 2
    cube = 3
    cd = 45
    mp = [880, 1848]
    uuid = "ac21c02567f04a92b54dd85c091d1e5a"
    vps = [
          {
            "name": "持续支援",
            "desc": "追踪",
            "explain": "[重火力支援]<br/>追随角色周围最强大敌人并进行轰炸<br/>不存在敌人时， 开始向前方轰炸<br/><br/>炮弹坠落时间 -75%"
          },
          {
            "name": "后备支援",
            "desc": "攻击时间减少",
            "explain": "[重火力支援]<br/>变更为领域轰炸<br/>- 按住技能键时， 可以用方向键选择轰炸地点<br/>- 以扇形范围对选定区域进行无属性轰炸<br/>- 可利用方向键选择8个方向<br/>- 最多攻击3次<br/>- 总攻击力相同"
          }
        ]

    data0 = [0, 7982, 8791, 9600, 10411, 11220, 12029, 12839, 13648, 14457, 15268, 16077, 16886, 17696, 18506, 19315, 20125, 20934, 21746, 22555, 23363, 24175, 24984, 25793, 26603, 27412, 28221, 29032, 29841, 30650, 31461, 32270, 33079, 33889, 34698, 35507, 36318, 37127, 37936, 38748, 39557, 40367, 41176, 41986, 42796, 43605, 44414, 45225, 46034, 46843, 47653]# noqa: E501
    hit0 = 10

# 战地功勋 전장의 영웅
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/c91a62dc0a18360acf5031ac0ebf09f5?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill25(PassiveSkill):
    name = "战地功勋"
    learnLv = 75
    masterLv = 40
    maxLv = 50
    position = 7 #TODO
    rangeLv = 3
    uuid = "c91a62dc0a18360acf5031ac0ebf09f5"

    data0 = [0, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118]# noqa: E501

    associate = [{"data":data0}]


# G-38ARG 智能手雷 G-38ARG 반응류탄
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/0c3a468aee1f7ce06bf91eb3319518c1?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill26(ActiveSkill):
    name = "G-38ARG 智能手雷"
    learnLv = 80
    masterLv = 40
    maxLv = 50
    position = 4 #TODO
    rangeLv = 2
    cube = 5
    cd = 40
    mp = [580, 4500]
    uuid = "0c3a468aee1f7ce06bf91eb3319518c1"
    vps = [
          {
            "name": "G-13EV热压智能手雷",
            "desc": "攻击时间减少",
            "explain": "[G-38智能手雷]<br/>删除智能反应攻击<br/>追随并附着敌人， 1秒后自动爆炸<br/>无关超负荷装填属性， 以无属性爆炸<br/>爆炸攻击力与[G-38智能手雷]的整体攻击力相同<br/><br/>智能手雷落地后追击范围 + 10%"
          },
          {
            "name": "G-106突击战术智能手雷",
            "desc": "所受伤害减少",
            "explain": "[G-38智能手雷]<br/>变更为投掷后附着于施放者身上攻击敌人的无属性智能手雷<br/>- 最多反应5次<br/>- 总攻击力相同<br/>- 攻击范围 30%<br/>- 生成保护罩时， 施放者所受伤害 -70%"
          }
        ]

    data2 = [0, 5968, 6574, 7180, 7786, 8390, 8996, 9602, 10208, 10814, 11420, 12024, 12630, 13236, 13841, 14447, 15053, 15657, 16263, 16869, 17475, 18081, 18687, 19291, 19897, 20503, 21109, 21714, 22320, 22925, 23530, 24136, 24742, 25348, 25954, 26558, 27164, 27770, 28376, 28981, 29587, 30192, 30797, 31403, 32009, 32615, 33219, 33825, 34431, 35037, 35643]# noqa: E501
    hit2 = 10

    data3 = [0, 25582, 28178, 30773, 33368, 35964, 38559, 41154, 43750, 46345, 48940, 51536, 54132, 56726, 59322, 61918, 64512, 67108, 69704, 72300, 74894, 77490, 80086, 82680, 85276, 87872, 90466, 93062, 95658, 98254, 100848, 103444, 106040, 108634, 111230, 113826, 116420, 119016, 121612, 124207, 126802, 129398, 131993, 134588, 137184, 139779, 142374, 144970, 147565, 150161, 152756]# noqa: E501
    hit3 = 1


# 超新星核爆 슈퍼 노바
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/ab6fc3303df03b58911967dfca2b5d07?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill27(ActiveSkill):
    name = "超新星核爆"
    learnLv = 85
    masterLv = 40
    maxLv = 50
    position = 6 #TODO
    rangeLv = 5
    cube = 10
    cd = 180
    mp = [2500, 8000]
    uuid = "ab6fc3303df03b58911967dfca2b5d07"

    data1 = [0, 122276, 150630, 178984, 207338, 235692, 264046, 292401, 320753, 349107, 377461, 405815, 434170, 462524, 490878, 519232, 547586, 575940, 604294, 632649, 661001, 689355, 717709, 746063, 774417, 802772, 831126, 859480, 887834, 916188, 944542, 972896, 1001251, 1029603, 1057957, 1086311, 1114665, 1143020, 1171374, 1199728, 1228082, 1256436, 1284790, 1313144, 1341498, 1369853, 1398205, 1426559, 1454913, 1483267, 1511622]# noqa: E501
    hit1 = 1 #TODO

    data4 = [0, 3493, 4303, 5113, 5923, 6734, 7544, 8354, 9164, 9974, 10785, 11593, 12403, 13214, 14024, 14834, 15644, 16454, 17265, 18075, 18885, 19695, 20505, 21316, 22126, 22936, 23746, 24557, 25365, 26175, 26986, 27796, 28606, 29416, 30226, 31037, 31847, 32657, 33467, 34277, 35088, 35898, 36708, 37518, 38329, 39137, 39947, 40757, 41568, 42378, 43188]# noqa: E501
    hit4 = 15


# 赤诚之心 얼리전트
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/a99040fc36c75e998aa3ed012b7759c5?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill28(PassiveSkill):
    name = "赤诚之心"
    learnLv = 95
    masterLv = 40
    maxLv = 50
    position = 5 #TODO
    rangeLv = 3
    uuid = "a99040fc36c75e998aa3ed012b7759c5"

    data0 = [0, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118]# noqa: E501

    data1 = [0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]# noqa: E501

    associate = [
        {"data": data0},{'data': data1,'skills':["交叉射击"]},
    ]


# 皇鹰特战队 이터널 버스터
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/b39ccc3dadab9d94569430e39cdf7d60?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill29(ActiveSkill):
    name = "皇鹰特战队"
    learnLv = 95
    masterLv = 40
    maxLv = 50
    position = 7 #TODO
    rangeLv = 2
    cube = 7
    cd = 60
    mp = [1067, 8000]
    uuid = "b39ccc3dadab9d94569430e39cdf7d60"

    data0 = [0, 11914, 13122, 14331, 15539, 16748, 17957, 19165, 20374, 21584, 22792, 24001, 25209, 26418, 27627, 28835, 30044, 31252, 32461, 33670, 34878, 36088, 37295, 38505, 39714, 40922, 42131, 43339, 44548, 45757, 46965, 48174, 49384, 50591, 51801, 53008, 54218, 55427, 56635, 57844, 59052, 60261, 61470, 62678, 63887, 65095, 66304, 67514, 68722, 69931, 71139]# noqa: E501
    hit0 = 4

    data2 = [0, 3176, 3498, 3821, 4143, 4466, 4788, 5111, 5433, 5755, 6078, 6399, 6721, 7044, 7366, 7689, 8011, 8334, 8656, 8979, 9300, 9622, 9945, 10267, 10590, 10912, 11235, 11557, 11879, 12202, 12523, 12845, 13168, 13490, 13813, 14135, 14458, 14780, 15103, 15425, 15746, 16069, 16391, 16714, 17036, 17359, 17681, 18003, 18326, 18647, 18969]# noqa: E501
    hit2 = 16

    data4 = [0, 79428, 87485, 95544, 103601, 111659, 119717, 127775, 135834, 143891, 151948, 160007, 168065, 176123, 184181, 192238, 200297, 208354, 216413, 224470, 232528, 240587, 248644, 256701, 264760, 272817, 280876, 288934, 296991, 305050, 313107, 321166, 329223, 337281, 345340, 353397, 361456, 369513, 377570, 385629, 393687, 401745, 409803, 417860, 425919, 433976, 442035, 450092, 458150, 466209, 474266]# noqa: E501
    hit4 = 1 #TODO


# 赤魂·风暴狙击 황야의 폭풍
# https://api.neople.co.kr/df/skills/afdf3b989339de478e85b614d274d1ef/696721534394b40e78ac96e880f19e5a?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill30(ActiveSkill):
    name = "赤魂·风暴狙击"
    learnLv = 100
    masterLv = 40
    maxLv = 50
    position = 5 #TODO
    rangeLv = 5
    cube = 15
    cd = 290
    mp = [4028, 8056]
    uuid = "696721534394b40e78ac96e880f19e5a"

    data0 = [0, 5354, 6596, 7838, 9080, 10322, 11564, 12806, 14048, 15288, 16530, 17772, 19014, 20256, 21498, 22740, 23982, 25224, 26464, 27706, 28948, 30190, 31432, 32674, 33916, 35158, 36400, 37641, 38882, 40124, 41366, 42608, 43850, 45092, 46334, 47576, 48817, 50059, 51301, 52543, 53785, 55027, 56269, 57510, 58752, 59993, 61235, 62477, 63719, 64961, 66203]# noqa: E501
    hit0 = 12

    data2 = [0, 224920, 277075, 329230, 381387, 433542, 485697, 537853, 590008, 642163, 694318, 746475, 798630, 850785, 902940, 955097, 1007252, 1059407, 1111564, 1163719, 1215874, 1268029, 1320185, 1372340, 1424495, 1476650, 1528807, 1580962, 1633117, 1685274, 1737429, 1789584, 1841739, 1893895, 1946051, 1998206, 2050361, 2102517, 2154672, 2206827, 2258984, 2311139, 2363294, 2415449, 2467606, 2519761, 2571916, 2624071, 2676227, 2728383, 2780538]# noqa: E501
    hit2 = 1 #TODO

    data3 = [0, 80328, 98955, 117581, 136209, 154836, 173462, 192090, 210717, 229343, 247971, 266598, 285224, 303852, 322479, 341105, 359733, 378360, 396986, 415612, 434240, 452867, 471493, 490121, 508748, 527374, 546002, 564629, 583255, 601883, 620510, 639136, 657764, 676391, 695017, 713644, 732272, 750898, 769525, 788153, 806779, 825406, 844034, 862660, 881287, 899915, 918541, 937168, 955796, 974422, 993049]# noqa: E501
    hit3 = 4

    data5 = [0, 4283, 5278, 6271, 7264, 8257, 9251, 10244, 11237, 12230, 13224, 14219, 15212, 16205, 17198, 18192, 19185, 20178, 21171, 22165, 23160, 24153, 25146, 26139, 27133, 28126, 29119, 30112, 31106, 32099, 33094, 34087, 35080, 36074, 37067, 38060, 39053, 40047, 41040, 42035, 43028, 44021, 45015, 46008, 47001, 47994, 48988, 49981, 50976, 51969, 52962]# noqa: E501
    hit5 = 3

    data7 = [0, 19278, 23748, 28219, 32689, 37160, 41630, 46101, 50571, 55042, 59512, 63983, 68453, 72924, 77394, 81865, 86335, 90806, 95276, 99747, 104217, 108688, 113158, 117628, 122099, 126569, 131040, 135510, 139981, 144451, 148922, 153392, 157863, 162333, 166804, 171274, 175745, 180215, 184686, 189156, 193627, 198097, 202568, 207038, 211508, 215979, 220449, 224920, 229390, 233861, 238331]# noqa: E501
    hit7 = 1 #TODO

class classChange(Character):
    def __init__(self, equVersion):
        self.name = 'spitfire_male'
        self.nameCN = '重霄·弹药专家'
        self.role = 'gunner_male'

        self.武器选项 = ['手弩', '步枪','左轮枪','自动手枪','手炮']
        self.输出类型选项 = ['物理百分比','魔法百分比']
        self.输出类型 = '物理百分比'
        self.防具精通属性 = ['智力', '力量']
        self.防具类型 = '皮甲'
        self.buff = 1.911

        self.角色 = '神枪手(男)'

        self.职业 = '弹药专家'

        super().__init__(equVersion, __name__)
